小D的 abc 变换问题
# 小D的 abc 变换问题
# 问题描述
小D拿到了一个仅由 "abc" 三种字母组成的字符串。她每次操作会对所有字符同时进行以下变换:
- 将
'a'变成'bc' - 将
'b'变成'ca' - 将
'c'变成'ab'
小D将重复该操作 k 次。你的任务是输出经过 k 次变换后,得到的最终字符串。
例如:对于初始字符串 "abc",执行 2 次操作后,字符串将变为 "caababbcbcca"。
# 测试样例
样例1
输入:
s = "abc", k = 2输出:'caababbcbcca'
样例2
输入:
s = "abca", k = 3输出:'abbcbccabccacaabcaababbcabbcbcca'
样例3
输入:
s = "cba", k = 1输出:'abcabc'
题解: 直接使用String类自带的replaceAll()方法
public class Main {
public static String solution(String s, int k) {
// PLEASE DO NOT MODIFY THE FUNCTION SIGNATURE
// write code here
for (int i = 0; i < k; i++) {
s = s.replaceAll("a", "1")
.replaceAll("b", "2")
.replaceAll("c", "3")
.replaceAll("1", "bc")
.replaceAll("2", "ca")
.replaceAll("3", "ab");
}
return s;
}
public static void main(String[] args) {
System.out.println(solution("abc", 2).equals("caababbcbcca"));
System.out.println(solution("abca", 3).equals("abbcbccabccacaabcaababbcabbcbcca"));
System.out.println(solution("cba", 1).equals("abcabc"));
}
}